package com.wande.dataplatform.service;

import com.wande.common.mybatis.core.page.PageQuery;
import com.wande.common.mybatis.core.page.TableDataInfo;
import com.wande.dataplatform.domain.CleanRule;
import com.wande.dataplatform.domain.bo.CleanRuleBo;
import com.wande.dataplatform.domain.vo.CleanRuleVo;

import java.util.List;

/**
 * 数据清洗规则服务接口
 *
 * @author wande
 */
public interface ICleanRuleService {

    /**
     * 查询清洗规则列表
     */
    TableDataInfo<CleanRuleVo> queryPageList(CleanRuleBo bo, PageQuery pageQuery);

    /**
     * 查询清洗规则列表
     */
    List<CleanRuleVo> queryList(CleanRuleBo bo);

    /**
     * 根据ID查询清洗规则
     */
    CleanRuleVo queryById(Long id);

    /**
     * 新增清洗规则
     */
    Long insertByBo(CleanRuleBo bo);

    /**
     * 修改清洗规则
     */
    Boolean updateByBo(CleanRuleBo bo);

    /**
     * 批量删除清洗规则
     */
    Boolean deleteByIds(List<Long> ids);

    /**
     * 根据维度查询规则
     */
    List<CleanRuleVo> queryByDimension(String dimension);

    /**
     * 批量导入规则
     */
    Boolean importRules(List<CleanRuleBo> rules);
}
